/**
 * Copyright (c) 2018-2028, HQY 胡庆一 (215218393@qq.com).
 * <p>
 * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.gnu.org/licenses/lgpl.html
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.ocm.order.entity;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ocm.core.mp.base.BaseEntity;

import java.util.Date;

import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 实体类
 *
 * @author HQY
 * @since 2022-01-16
 */
@Data
@TableName("ocm_order")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Order对象", description = "Order对象")
public class Order extends BaseEntity {

    private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "主键")
	@TableId(value = "id", type = IdType.ASSIGN_ID)
	@JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    /**
     * 初始价格
     */
    @ApiModelProperty(value = "初始价格")
    private BigDecimal initialPrice;
    /**
     * 减免价格
     */
    @ApiModelProperty(value = "减免价格")
    private BigDecimal deratePrice;
    /**
     * 最终价格
     */
    @ApiModelProperty(value = "最终价格")
    private BigDecimal finalPrice;
    /**
     * 收货省份
     */
    @ApiModelProperty(value = "收货省份")
    private String province;
    /**
     * 收货市区
     */
    @ApiModelProperty(value = "收货市区")
    private String city;
    /**
     * 收货区
     */
    @ApiModelProperty(value = "收货区")
    private String district;
    /**
     * 收货手机号
     */
    @ApiModelProperty(value = "收货手机号")
    private String phone;
    /**
     * 收货详细地址
     */
    @ApiModelProperty(value = "收货详细地址")
    private String address;
    /**
     * 收货人
     */
    @ApiModelProperty(value = "收货人")
    private String consignee;
    /**
     * 物流单号
     */
    @ApiModelProperty(value = "物流单号")
    private String logistics;
    /**
     * 客服备注
     */
    @ApiModelProperty(value = "客服备注")
    private String serviceRemark;
    /**
     * 订单备注
     */
    @ApiModelProperty(value = "订单备注")
    private String orderRemark;
    /**
     * 邮费
     */
    @ApiModelProperty(value = "邮费")
    private BigDecimal orderPostage;
    /**
     * 店铺id
     */
    @ApiModelProperty(value = "店铺id")

	@JsonSerialize(using = ToStringSerializer.class)
    private Long shopId;

	/**
	 * 支付方式
	 */
	private String bankType;


	private Long bankCard;

    /**
     * 支付时间
     */
    @ApiModelProperty(value = "支付时间")
    private Date payTime;

	/**
	 * 支付时间
	 */
	@ApiModelProperty(value = "发货时间")
	private Date deliverTime;
    /**
     * 完成时间
     */
    @ApiModelProperty(value = "完成时间")
    private Date finalTime;


}
